// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information.
//
// ███╗   ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║   ██║   ██║   ██║██║     █████╗
// ██║╚██╗██║██║   ██║   ██║   ██║██║     ██╔══╝
// ██║ ╚████║╚██████╔╝   ██║   ██║╚██████╗███████╗
// ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝ ╚═════╝╚══════╝
// ------------------------------------------------
//
// This file is automatically generated.
// Please do not edit these files manually.
//
// ------------------------------------------------

#nullable restore

using System;
using System.Linq;
using Elastic.Clients.Elasticsearch.Serialization;

namespace Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement;

public partial class SnapshotLifecycleManagementNamespacedClient : Elastic.Clients.Elasticsearch.NamespacedClientProxy
{
	/// <summary>
	/// <para>
	/// Initializes a new instance of the <see cref="Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.SnapshotLifecycleManagementNamespacedClient"/> class for mocking.
	/// </para>
	/// </summary>
	protected SnapshotLifecycleManagementNamespacedClient() : base()
	{
	}

	internal SnapshotLifecycleManagementNamespacedClient(Elastic.Clients.Elasticsearch.ElasticsearchClient client) : base(client)
	{
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse DeleteLifecycle(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse DeleteLifecycle(Elastic.Clients.Elasticsearch.Name policyId)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestDescriptor(policyId);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse DeleteLifecycle(Elastic.Clients.Elasticsearch.Name policyId, System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestDescriptor(policyId);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse> DeleteLifecycleAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse> DeleteLifecycleAsync(Elastic.Clients.Elasticsearch.Name policyId, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestDescriptor(policyId);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse> DeleteLifecycleAsync(Elastic.Clients.Elasticsearch.Name policyId, System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestDescriptor(policyId);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.DeleteLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse ExecuteLifecycle(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse ExecuteLifecycle(Elastic.Clients.Elasticsearch.Name policyId)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestDescriptor(policyId);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse ExecuteLifecycle(Elastic.Clients.Elasticsearch.Name policyId, System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestDescriptor(policyId);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse> ExecuteLifecycleAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse> ExecuteLifecycleAsync(Elastic.Clients.Elasticsearch.Name policyId, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestDescriptor(policyId);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse> ExecuteLifecycleAsync(Elastic.Clients.Elasticsearch.Name policyId, System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestDescriptor(policyId);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse ExecuteRetention(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse ExecuteRetention()
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse ExecuteRetention(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse> ExecuteRetentionAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse> ExecuteRetentionAsync(System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse> ExecuteRetentionAsync(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.ExecuteRetentionRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse GetLifecycle(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse GetLifecycle()
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse GetLifecycle(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse GetLifecycle(Elastic.Clients.Elasticsearch.Names? policyId)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor(policyId);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse GetLifecycle(Elastic.Clients.Elasticsearch.Names? policyId, System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor(policyId);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse> GetLifecycleAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse> GetLifecycleAsync(System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse> GetLifecycleAsync(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse> GetLifecycleAsync(Elastic.Clients.Elasticsearch.Names? policyId, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor(policyId);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse> GetLifecycleAsync(Elastic.Clients.Elasticsearch.Names? policyId, System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestDescriptor(policyId);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse GetStats(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse GetStats()
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse GetStats(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse> GetStatsAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse> GetStatsAsync(System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse> GetStatsAsync(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetStatsRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse GetStatus(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse GetStatus()
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse GetStatus(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse> GetStatusAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse> GetStatusAsync(System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse> GetStatusAsync(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.GetSlmStatusRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse PutLifecycle(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse PutLifecycle(Elastic.Clients.Elasticsearch.Name policyId)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestDescriptor(policyId);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse PutLifecycle(Elastic.Clients.Elasticsearch.Name policyId, System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestDescriptor(policyId);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse> PutLifecycleAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse> PutLifecycleAsync(Elastic.Clients.Elasticsearch.Name policyId, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestDescriptor(policyId);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse> PutLifecycleAsync(Elastic.Clients.Elasticsearch.Name policyId, System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestDescriptor(policyId);
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.PutLifecycleRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse Start(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse Start()
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse Start(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse> StartAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse> StartAsync(System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse> StartAsync(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StartSlmRequestParameters>(request, cancellationToken);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse Stop(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequest request)
	{
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse Stop()
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestParameters>(request);
	}

	public virtual Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse Stop(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestDescriptor> action)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequest<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestParameters>(request);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse> StopAsync(Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequest request, System.Threading.CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse> StopAsync(System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestDescriptor();
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestParameters>(request, cancellationToken);
	}

	public virtual System.Threading.Tasks.Task<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse> StopAsync(System.Action<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestDescriptor> action, System.Threading.CancellationToken cancellationToken = default)
	{
		var builder = new Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestDescriptor();
		action.Invoke(builder);
		var request = builder.Instance;
		request.BeforeRequest();
		return DoRequestAsync<Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequest, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmResponse, Elastic.Clients.Elasticsearch.SnapshotLifecycleManagement.StopSlmRequestParameters>(request, cancellationToken);
	}
}